package com.smt.modules.bus.dao;

import com.smt.modules.bus.entity.MemberUserEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.smt.modules.bus.entity.TeamEntity;
import com.smt.modules.bus.pojo.ProjectSiPojo;
import com.smt.modules.bus.pojo.TeamManagePojo;
import com.smt.modules.bus.vo.TeamVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 成员用户表
 * 
 * @author murong
 * @email 981620741@qq.com
 * @date 2018-09-29 15:37:09
 */
@Mapper
public interface MemberUserDao extends BaseMapper<MemberUserEntity> {

    /**
     * 查询该项目下的所有成员信息
     *
     * @param projectSiPojo
     * @return
     */
    List<MemberUserEntity> selectMemberLists(ProjectSiPojo projectSiPojo);

    /**
     * 查找当前的项目创建者是否是本人
     *
     * @param project
     * @return
     */
    Long selectCreator(Long project);

    /**
     * 移除项目成员
     *
     * @param teamManagePojo
     * @return
     */
    int updateMemberById(TeamManagePojo teamManagePojo);

    /**
     * 选择是否加入
     *
     * @param teamVo
     * @return
     */
    int updateJoin(TeamVo teamVo);

    /**
     * 查询该创建者下的所有成员id
     *
     * @param creatorId
     * @return
     */
    List<TeamEntity> selectMemberList(Long creatorId);


    /**
     * 创建团队
     *
     * @param teamEntity
     * @return
     */
    int insertTeam(TeamEntity teamEntity);

    /**
     *  获取该团队下的成员集合
     *
     * @param teamId
     * @return
     */
    List<Long> getMemberByTeam(Long teamId);
}
